Vergrijzing: de ineenstorting van de economie#
Github: 0xKobalt/infovis | Github Pages: https://0xkobalt.github.io/infovis/docs/notebook.html#
Introductie#
Een vergrijzende bevolking kan een probleem vormen voor de maatschappij. Vergrijzing houdt in dat de gemiddelde leeftijd stijgt en dat er meer ouderen/niet-werkende zijn dan werkenden. Dit komt doordat er beter zorg is voor ouderen en dat er minder kinderen worden geboren.
Vergrijzing heeft invloed op de arbeidsmarkt, belastinginkomsten, zorgkosten en dus de economie.
Perspectief 1:#
Vergrijzing is een probleem dat verandering in de samenleving vereist, anders stort de economie in. Doordat het aantal niet-werkende stijgt en het aantal werkende krimpt, zou de economie hard getroffen kunnen worden, doordat er minder minder mensen zijn om de kosten, zoals sociale voorzieningen, pensioenen en zorgkosten, te betalen. Verder krimpt de arbeidsmarkt ook, wat economische groei kan beperken. Er zou dus een verandering in de maatschappij moeten komen om dit probleem op te lossen.
Perspectief 2:#
Vergrijzing is vooral een probleem op regionaal niveau. Doordat jonge mensen naar de grote stad gaan zal de rest van Nederland minder economische groei ervaren. Dit komt doordat de grote steden meer kansen bieden dan het platteland. De arbeidsmarkt en consumentenmarkt zal dus in die regio’s krimpen. Waardoor de economische groei stagneerd en daalt.
Dataset en preprocessing#
import pandas as pd
import plotly.express as px
import plotly.graph_objects as go
import matplotlib.pyplot as plt
import json
uitkeringen = pd.read_csv('Uitkeringen_draft.csv', sep=";")
Provinciale_regionalegroei = pd.read_csv('Provinciale_regionalegroei_draft.csv', sep=';')
Regionale_grijzedruk = pd.read_csv('Grijzedruk_regionaal_draft.csv', sep=';')
uitkeringen = uitkeringen.drop(columns=["ID"])
Provinciale_regionalegroei = Provinciale_regionalegroei.drop(columns=["ID"])
result = pd.concat([uitkeringen, Provinciale_regionalegroei,Regionale_grijzedruk], ignore_index=True, sort=False)
result['RegioS'] = result['RegioS'].str.strip()
result['Perioden'] = result['Perioden'].str[:4]
result['SocialeUitkeringen_1'] = result['SocialeUitkeringen_1']/1000
Om de opgeschoonde dataset te vormen, hebben we 3 dataset bestanden van het CBS gebruikt. De datasets van het CBS kunnen op de site al op onderwerp (variabelen) , regio en perioden selecteerd worden. De variabelen die we gebruiken zijn, type uitkering en besteding aan dat type tussen 1995 tot en met 2021, procent grijze druk per gemeente in 2020 en verandering van bbp per provincie tussen 1995 tot en met 2021. De datasets werden opgeschoond door de volgende operaties, puntkomma’s vervangen door komma’s, alle spaties verwijderen en de variable van jaar veranderen (bijv. “2010JJ00” veranderen naar “2010”).
Reflectie#
Work distribution#
Perspectief 1:
totaal = ['T001397']
totaal = result[result['Uitkeringen'].isin(totaal)]
aow = ['A045116']
aow = result[result['Uitkeringen'].isin(aow)]
ouderen = ['A045119', 'A045137', 'A045121']
ouderen = result[result['Uitkeringen'].isin(ouderen)]
zorgwetten=ouderen.groupby('Perioden')['SocialeUitkeringen_1'].sum()
zorgwetten=zorgwetten.reset_index()
selected_data = totaal.loc[totaal['Uitkeringen'] == 'T001397']
fig = go.Figure()
fig.add_trace(go.Scatter(x=selected_data['Perioden'], y=selected_data['SocialeUitkeringen_1'], mode='lines', fill='tonexty',stackgroup='one', name="Totale uitkeringen"))
fig.add_trace(go.Scatter(x=aow['Perioden'], y=aow['SocialeUitkeringen_1'], mode='lines', fill='tonexty',stackgroup='two', name="Pensioen"))
fig.add_trace(go.Scatter(x=zorgwetten['Perioden'], y=zorgwetten['SocialeUitkeringen_1'], mode='lines', fill='tonexty', stackgroup='two', name="Zorgwetten"))
fig.update_layout(
title="Besteding aan uitkeringen",
yaxis_title="Uitkering (Miljard)",
annotations = [dict(xref='paper',
yref='paper',
x=0.5, y=-0.2,
showarrow=False,
text ='Fig. 1. De verhouding tussen de uitkering die ouderen krijgen en de hoeveelheid die de overheid aan uitkeringen besteed')])
fig.show()
Perspectief 2:
gemeente = json.load(open('gemeente_gegeneraliseerd.geojson', 'r'))
for feature in gemeente['features']:
feature['id'] = feature['properties']['statcode']
df = result[result['RegioS'].str.contains("GM", na=False)]
fig = px.choropleth(df, locations='RegioS', geojson=gemeente, color='GrijzeDruk_24')
fig.update_geos(fitbounds="locations", visible=False)
fig.update_layout(
title="Regionale grijze druk",
annotations = [dict(xref='paper',
yref='paper',
x=0.5, y=-0.2,
showarrow=False,
text ='Fig. 2. De percentage grijze druk per gemeente.')])
fig.show()
randstad_provincies = ['PV26', 'PV27', 'PV28']
randstad_provincies = result[result['RegioS'].isin(randstad_provincies)]
de_rest = ['PV20', 'PV21', 'PV22', 'PV23', 'PV25', 'PV29', 'PV31']
de_rest = result[result['RegioS'].isin(de_rest)]
randstad_provincies=randstad_provincies.groupby('Perioden')['BbpVolumemutaties_3'].mean()
randstad_provincies=randstad_provincies.reset_index()
de_rest=de_rest.groupby('Perioden')['BbpVolumemutaties_3'].mean()
de_rest=de_rest.reset_index()
fig = go.Figure()
fig.add_trace(go.Scatter(x=randstad_provincies['Perioden'], y=randstad_provincies['BbpVolumemutaties_3'], mode='lines', name="randstad"))
fig.add_trace(go.Scatter(x=de_rest['Perioden'], y=de_rest['BbpVolumemutaties_3'], mode='lines', name="de rest"))
fig.update_layout(
title="Verandering van bbp",
annotations = [dict(xref='paper',
yref='paper',
x=0.5, y=-0.2,
showarrow=False,
text ='Fig. 3. De verandering van bbp in percentage van de randstad en de test van Nederland ten opzichte van het jaar daarvoor.')])
fig.show()